package day1_array.leetcode;

import java.util.HashSet;
import java.util.Set;

/**
 * @author yuisama
 * @date 2023年07月06日 12:13
 * @description 数组中重复的数字
 */
public class Offer_03_FindRepeatNumber {
    // set法
//    public int findRepeatNumber(int[] nums) {
//        Set<Integer> set = new HashSet<>();
//        for (int i : nums) {
//            if (!set.add(i)) {
//                return i;
//            }
//        }
//        return -1;
//    }
    // 哈希法
    public int findRepeatNumber(int[] nums) {
        // 新建一个长度为n的布尔数组，将元素值和索引映射
        boolean[] table = new boolean[nums.length];
        for (int i : nums) {
            if (table[i]) {
                return i;
            }
            table[i] = true;
        }
        return -1;
    }
}
